package com.jiangong.controller;

import com.jiangong.entity.structuralHealth.F1;
import com.jiangong.entity.structuralHealth.North;
import com.jiangong.entity.structuralHealth.Roof;
import com.jiangong.entity.structuralHealth.South;
import com.jiangong.service.StructuralHealthService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RequestMapping("/StructuralHealth")
@RestController
//@Api(tags = "结构健康度")
public class StructuralHealthController {

    @Autowired
    private StructuralHealthService structuralHealthService;

    /**
     * 获取F1楼层24小时数据
     *
     * @param f1 查询条件
     * @return 返回结果包含code、message和data字段
     *         code: 200表示成功，其他表示失败
     *         message: 请求成功或错误信息
     *         data: 包含时间(time)、温度(temf1)和风速(windf1)的数组
     */

    @RequestMapping("/F1hour")
    @ResponseBody
    public List<F1> f1hour(F1 f1) {
        return structuralHealthService.F1hour(f1);
    }

    /**
     * 获取F1楼层30天数据
     *
     * @param f1 查询条件
     * @return 返回结果包含code、message和data字段
     *         code: 200表示成功，其他表示失败
     *         message: 请求成功或错误信息
     *         data: 包含时间(time)、温度(temf1)和风速(windf1)的数组
     */

    @RequestMapping("/F1day")
    @ResponseBody
    public List<F1> f1day(F1 f1) {
        return structuralHealthService.F1day(f1);
    }

    /**
     * 获取屋顶24小时数据
     *
     * @param roof 查询条件
     * @return 返回结果包含code、message和data字段
     *         code: 200表示成功，其他表示失败
     *         message: 请求成功或错误信息
     *         data: 包含时间(time)、温度(rooftem)和应变(roofstrain)的数组
     */

    @RequestMapping("/Roofhour")
    @ResponseBody
    public List<Roof> roofhour(Roof roof) {
        return structuralHealthService.Roofhour(roof);
    }

    /**
     * 获取屋顶30天数据
     *
     * @param roof 查询条件
     * @return 返回结果包含code、message和data字段
     *         code: 200表示成功，其他表示失败
     *         message: 请求成功或错误信息
     *         data: 包含时间(time)、温度(rooftem)和应变(roofstrain)的数组
     */

    @RequestMapping("/Roofday")
    @ResponseBody
    public List<Roof> roofday(Roof roof) {
        return structuralHealthService.Roofday(roof);
    }

    /**
     * 获取南面24小时数据
     *
     * @param south 查询条件
     * @return 返回结果包含code、message和data字段
     *         code: 200表示成功，其他表示失败
     *         message: 请求成功或错误信息
     *         data: 包含时间(time)、温度(southtem)和应变(southstrain)的数组
     */

    @RequestMapping("/Southhour")
    @ResponseBody
    public List<South> southhour(South south) {
        return structuralHealthService.Southhour(south);
    }

    /**
     * 获取南面30天数据
     *
     * @param south 查询条件
     * @return 返回结果包含code、message和data字段
     *         code: 200表示成功，其他表示失败
     *         message: 请求成功或错误信息
     *         data: 包含时间(time)、温度(southtem)和应变(southstrain)的数组
     */

    @RequestMapping("/Southday")
    @ResponseBody
    public List<South> southday(South south) {
        return structuralHealthService.Southday(south);
    }

    /**
     * 获取北面24小时数据
     *
     * @param north 查询条件
     * @return 返回结果包含code、message和data字段
     *         code: 200表示成功，其他表示失败
     *         message: 请求成功或错误信息
     *         data: 包含时间(time)、温度(northtem)和应变(northstrain)的数组
     */
    @RequestMapping("/Northhour")
    @ResponseBody
    public List<North> northhour(North north) {
        return structuralHealthService.Northhour(north);
    }

    /**
     * 获取北面30天数据
     *
     * @param north 查询条件
     * @return 返回结果包含code、message和data字段
     *         code: 200表示成功，其他表示失败
     *         message: 请求成功或错误信息
     *         data: 包含时间(time)、温度(northtem)和应变(northstrain)的数组
     */

    @RequestMapping("/Northday")
    @ResponseBody
    public List<North> northday(North north) {
        return structuralHealthService.Northday(north);
    }
}
